using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Text;
using Credinka.Ayni.SEA.EN;
namespace Credinka.Ayni.SEA.AD
{
    public class adDetalleFormularioObjetoPerfil : adGeneral
    {

        public adDetalleFormularioObjetoPerfil(SqlConnection con)
        {
            conexion = con;
        }

        public List<enDetalleFormularioObjetoPerfil> fListar(int pIdPerfil)
        {
            List<enDetalleFormularioObjetoPerfil> loenDetalleFormularioObjetoPerfil = null;
            SqlCommand cmd = new SqlCommand("sSEA_ConsultarFormularioObjetoPerfil", conexion);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@pidPerfil", SqlDbType.Int).Value = pIdPerfil;
            SqlDataReader drd = cmd.ExecuteReader();
            if (drd != null)
            {
                int pos_IdDetalleFormularioObjetoPerfil = drd.GetOrdinal("iIdDetalleFormularioObjetoPerfil");
                int pos_IdFormularioObjeto = drd.GetOrdinal("iIdFormularioObjeto");
                int pos_IdPerfil = drd.GetOrdinal("iIdPerfil");
                loenDetalleFormularioObjetoPerfil = new List<enDetalleFormularioObjetoPerfil>();
                enDetalleFormularioObjetoPerfil oenDetalleFormularioObjetoPerfil;
                while (drd.Read())
                {
                    oenDetalleFormularioObjetoPerfil = new enDetalleFormularioObjetoPerfil();
                    oenDetalleFormularioObjetoPerfil.IdDetalleFormularioObjetoPerfil = drd.GetInt32(pos_IdDetalleFormularioObjetoPerfil);
                    oenDetalleFormularioObjetoPerfil.IdFormularioObjeto = (drd.IsDBNull(pos_IdFormularioObjeto) ? 0 : drd.GetInt32(pos_IdFormularioObjeto));
                    oenDetalleFormularioObjetoPerfil.IdPerfil = (drd.IsDBNull(pos_IdPerfil) ? 0 : drd.GetInt32(pos_IdPerfil));
                    loenDetalleFormularioObjetoPerfil.Add(oenDetalleFormularioObjetoPerfil);
                }
            }
            return (loenDetalleFormularioObjetoPerfil);
        }

        public int fRegistrar(enDetalleFormularioObjetoPerfil poenDetalleFormularioObjetoPerfil)
        {
            int N = -1;
            SqlCommand cmd = new SqlCommand("sSEA_RegistrarDetalleFormularioObjetoPerfil", conexion);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@piiIdFormularioObjeto", SqlDbType.Int).Value = poenDetalleFormularioObjetoPerfil.IdFormularioObjeto;
            cmd.Parameters.Add("@piiIdPerfil", SqlDbType.Int).Value = poenDetalleFormularioObjetoPerfil.IdPerfil;
            cmd.Parameters.Add("@piiCodigoEstado", SqlDbType.Int).Value = poenDetalleFormularioObjetoPerfil.CodigoEstado;
            cmd.Parameters.Add("@pivAudNombreUsuarioCreacion", SqlDbType.VarChar).Value = poenDetalleFormularioObjetoPerfil.AudNombreUsuarioCreacion;
            cmd.Parameters.Add("@pivAudIPCreacion", SqlDbType.VarChar).Value = poenDetalleFormularioObjetoPerfil.AudIPCreacion;
            cmd.Parameters.Add("@pivAudMacCreacion", SqlDbType.VarChar).Value = poenDetalleFormularioObjetoPerfil.AudMacCreacion;
            N = cmd.ExecuteNonQuery();
            return N;
        }

        public int fEliminar(enDetalleFormularioObjetoPerfil poenDetalleFormularioObjetoPerfil)
        {
            int N = -1;
            SqlCommand cmd = new SqlCommand("sSEA_EliminarDetalleFormularioObjetoPerfil", conexion);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@piIdDetalleFormularioObjetoPerfil", SqlDbType.Int).Value = poenDetalleFormularioObjetoPerfil.IdDetalleFormularioObjetoPerfil;
            cmd.Parameters.Add("@pivAudNombreUsuarioModificacion", SqlDbType.VarChar).Value = poenDetalleFormularioObjetoPerfil.AudNombreUsuarioModificacion;
            cmd.Parameters.Add("@pivAudIPModificacion", SqlDbType.VarChar).Value = poenDetalleFormularioObjetoPerfil.AudIPModificacion;
            cmd.Parameters.Add("@pivAudMacModificacion", SqlDbType.VarChar).Value = poenDetalleFormularioObjetoPerfil.AudMacModificacion;
            N = cmd.ExecuteNonQuery();
            return (N);
        }

        public int fContar()
        {
            int totalDetalleFormularioObjetoPerfil;
            SqlCommand cmd = new SqlCommand("sSEA_ContarDetalleFormularioObjetoPerfil", conexion);
            cmd.CommandType = CommandType.StoredProcedure;
            totalDetalleFormularioObjetoPerfil = (int)cmd.ExecuteScalar();
            return (totalDetalleFormularioObjetoPerfil);
        }
    }
}
